package com.pizzaonline.entites;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.servlet.ServletContext;

import org.jdom.Element;


import com.pizzaonline.JDBC.DataBase;
import com.pizzaonline.utils.Utils;
import com.pizzaonline.utils.XMLControler;


/**
 *
 */
public class Pizza extends Entite {
	
	private String [] ingredients;
	private boolean isPerso;
	
	
	
	/**
	 * @param nom
	 */
	public Pizza(String nom) {
		super();
		this.nom = nom;
		this.isPerso= false;
	}
	
	
	/**
	 * @param nom
	 * @param ingredients
	 * @param isPerso
	 */
	public Pizza(String nom, String[] ingredients, boolean isPerso) {
		super();
		this.nom = nom;
		this.ingredients = ingredients;
		this.isPerso = isPerso;
		DataBase d=new DataBase();
		d.connexionBD();
		if(this.isPerso)
		{
			try {
				for (int i=0;i<ingredients.length;i++) {
					ResultSet res = 
						d.select("prix_unitaire","stock","nom='"+ingredients[i]+"'");
					if (!res.isBeforeFirst())
					{
						continue; // cet ingrédient n'est pas dans la base ou n'est pas en stock
					}
					res.first();
					prix += res.getFloat(1);
				}
			}
			catch (SQLException e)
			{
				e.printStackTrace();
			}
		}
	}

	
	/* (non-Javadoc)
	 * @see com.pizzaonline.entites.Entite#getPrix()
	 */
	public float getPrix() {
		if (prix==0)
		{
			try {
				XMLControler.readXMLFile("carte.xml");
			prix=XMLControler.getPrixPizza(nom);
			}
			catch (Exception e)
			{
				e.printStackTrace();
			}
		}
		return prix;
	}
	
	/**
	 * @return
	 */
	public String[] getIngredients() {
		return ingredients;
	}
	/**
	 * @param nom
	 */
	public void setIngredients(String[] ingredients) {
		this.ingredients = ingredients;
	}
	/**
	 * @return
	 */
	public boolean isPerso() {
		return isPerso;
	}
	/**
	 * @param nom
	 */
	public void setPerso(boolean isPerso) {
		this.isPerso = isPerso;
	}
	

}
